package com.sfh.appversion.server;


import com.sfh.appversion.dao.entity.AppInfoDO;
import com.sfh.appversion.dto.req.AppEditReqDTO;
import com.sfh.appversion.dto.req.AppNewReqDTO;
import com.sfh.appversion.dto.resp.AppDowonSizeRespDTO;
import com.sfh.appversion.dto.resp.AppMenuRespDTO;

import java.util.List;

/***
 * 应用服务
 */
public interface AppServer {

    /***
     * 根据类型获取左侧菜单显示应用集合
     * @return
     */
    List<AppMenuRespDTO> queryAllList(String appType);

    /***
     * 根据appID 获取应用对象
     * @param appId
     * @return
     */
    AppInfoDO queryInfo(String appId);

    /***
     * 根据appID  获取应用下载地址
     * @param appId
     * @return
     */
    String queryAppDownUrl(String appId);

    /***
     * 根据appID  获取应用下载量
     * @param appId
     * @return
     */
    AppDowonSizeRespDTO queryAppDownSize(String appId);

    /***
     * 新增应用
     * @param vo
     * @return
     */
    boolean add(AppNewReqDTO vo);

    /***
     * 编辑应用
     * @param vo
     * @return
     */
    boolean edit(AppEditReqDTO vo);

    /***
     * 删除应用
     * @param appId
     * @return
     */
    boolean del(String appId);

    /***
     * 应用位置在菜单第一位
     * @param appId
     * @return
     */
    boolean sortToFrist(String appId);

}
